import java.util.HashSet;
import java.util.Set;

public class SetTest {
    public static void main(String[] args) {
        // 创建一个 HashSet 实例
        Set<String> set = new HashSet<>();

        // 1. add(E e) - 添加元素
        set.add("Apple");
        set.add("Banana");
        set.add("Cherry");
        System.out.println("Set after add: " + set);
        // 输出: [Apple, Banana, Cherry]

        // 2. contains(Object o) - 判断元素是否存在
        System.out.println("Contains 'Banana': " + set.contains("Banana"));
        // 输出: true

        // 3. size() - 返回集合中元素的个数
        System.out.println("Size of set: " + set.size());
        // 输出: 3

        // 4. isEmpty() - 检测集合是否为空
        System.out.println("Is set empty: " + set.isEmpty());
        // 输出: false

        // 5. remove(Object o) - 删除元素
        set.remove("Banana");
        System.out.println("Set after remove: " + set);
        // 输出: [Apple, Cherry]

        // 6. addAll(Collection<? extends E> c) - 添加集合中的所有元素
        Set<String> anotherSet = new HashSet<>();
        anotherSet.add("Cherry");
        anotherSet.add("Date");
        set.addAll(anotherSet);
        System.out.println("Set after addAll: " + set);
        // 输出: [Apple, Cherry, Date]

        // 7. containsAll(Collection<?> c) - 判断集合是否包含另一个集合的所有元素
        System.out.println("Contains all from anotherSet: " + set.containsAll(anotherSet));
        // 输出: true

        // 8. toArray() - 将集合转换为数组
        Object[] array = set.toArray();
        System.out.println("Array from set: ");
        for (Object element : array) {
            System.out.println(element);
        }

        // 9. clear() - 清空集合
        set.clear();
        System.out.println("Set after clear: " + set);
        // 输出: []
    }
}
